#include <iostream>
#include "LuaTableWrapper.h"

extern "C" {
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
}

int main() {
    // 初始化Lua状态
    lua_State* L = luaL_newstate();
    luaL_openlibs(L);
    
    // 注册我们的LuaTableWrapper类
    LuaTableWrapper::register_class(L);
    
    // 创建全局表
    LuaTableWrapper::create_global_table(L, "GlobalTable");
    
    // 注册LActor命名空间
    LActor::register_namespace(L);
    
    // 加载并运行测试脚本
    if (luaL_dofile(L, "test_lua_table.lua") != LUA_OK) {
        std::cerr << "Error running script: " << lua_tostring(L, -1) << std::endl;
        lua_pop(L, 1);
    }
    
    // 关闭Lua状态
    lua_close(L);
    return 0;
}